<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>shark::NestedGridSearch Class Reference</title>
<script type="text/javaScript" src="search/search.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3.0.1/es5/tex-mml-chtml.js"></script>
<script src="../../mlstyle.js"></script>
<link href="../css/besser.css" rel="stylesheet" type="text/css"/>
</head>
<!-- pretty cool: each body gets an id tag which is the basename of the web page  -->
<!--              and allows for page-specific CSS. this is client-side scripted, -->
<!--              so the id will not yet show up in the served source code -->
<script type="text/javascript">
    jQuery(document).ready(function () {
        var url = jQuery(location).attr('href');
        var pname = url.substr(url.lastIndexOf("/")+1, url.lastIndexOf(".")-url.lastIndexOf("/")-1);
        jQuery('#this_url').html('<strong>' + pname + '</strong>');
        jQuery('body').attr('id', pname);
    });
</script>
<body>
    <div id="shark_old">
        <div id="wrap">
            <div id="header">
                <div id="site-name"><a href="../../sphinx_pages/build/html/index.html">Shark machine learning library</a></div>
                <ul id="nav">
                    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/installation.html">Installation</a>
                    </li>
		    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/tutorials/tutorials.html">Tutorials</a>
                    </li>
		    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/benchmark.html">Benchmarks</a>
                    </li>
                    <li class="active">
                        <a href="classes.html">Documentation</a>
                        <ul>
                            <li class="first"></li>
                            <li><a href="../../sphinx_pages/build/html/rest_sources/quickref/quickref.html">Quick references</a></li>
                            <li><a href="classes.html">Class list</a></li>
                            <li class="last"><a href="group__shark__globals.html">Global functions</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
        </div>
    </div>
<div id="doxywrapper">
<!--
    <div id="global_doxytitle">Doxygen<br>Documentation:</div>
-->
    <div id="navrow_wrapper">
<!-- Generated by Doxygen 1.9.8 -->
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceshark.html">shark</a></li><li class="navelem"><a class="el" href="classshark_1_1_nested_grid_search.html">NestedGridSearch</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="classshark_1_1_nested_grid_search-members.html">List of all members</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle"><div class="title">shark::NestedGridSearch Class Reference</div></div>
</div><!--header-->
<div class="contents">

<p>Nested grid search.  
 <a href="classshark_1_1_nested_grid_search.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_grid_search_8h_source.html">shark/Algorithms/DirectSearch/GridSearch.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for shark::NestedGridSearch:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classshark_1_1_nested_grid_search__inherit__graph.png" border="0" usemap="#ashark_1_1_nested_grid_search_inherit__map" alt="Inheritance graph"/></div>
<map name="ashark_1_1_nested_grid_search_inherit__map" id="ashark_1_1_nested_grid_search_inherit__map">
<area shape="rect" title="Nested grid search." alt="" coords="22,94,190,120"/>
<area shape="rect" href="classshark_1_1_abstract_single_objective_optimizer.html" title=" " alt="" coords="5,5,207,46"/>
<area shape="poly" title=" " alt="" coords="109,62,109,93,103,93,103,62"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af843acc075e013fe5d75ffc0e5135e10" id="r_af843acc075e013fe5d75ffc0e5135e10"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_nested_grid_search.html#af843acc075e013fe5d75ffc0e5135e10">NestedGridSearch</a> ()</td></tr>
<tr class="memdesc:af843acc075e013fe5d75ffc0e5135e10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <br /></td></tr>
<tr class="separator:af843acc075e013fe5d75ffc0e5135e10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a0f8c2203e464572921d4c733b7e642" id="r_a1a0f8c2203e464572921d4c733b7e642"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_nested_grid_search.html#a1a0f8c2203e464572921d4c733b7e642">name</a> () const</td></tr>
<tr class="memdesc:a1a0f8c2203e464572921d4c733b7e642"><td class="mdescLeft">&#160;</td><td class="mdescRight">From <a class="el" href="classshark_1_1_i_nameable.html" title="This class is an interface for all objects which can have a name.">INameable</a>: return the class name.  <br /></td></tr>
<tr class="separator:a1a0f8c2203e464572921d4c733b7e642"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6794001d6de702afc1cb5eb323e1335b" id="r_a6794001d6de702afc1cb5eb323e1335b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_nested_grid_search.html#a6794001d6de702afc1cb5eb323e1335b">configure</a> (const std::vector&lt; double &gt; &amp;min, const std::vector&lt; double &gt; &amp;max)</td></tr>
<tr class="memdesc:a6794001d6de702afc1cb5eb323e1335b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization of the nested grid search.  <br /></td></tr>
<tr class="separator:a6794001d6de702afc1cb5eb323e1335b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18b11da83f808e86b04c70c51e716678" id="r_a18b11da83f808e86b04c70c51e716678"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_nested_grid_search.html#a18b11da83f808e86b04c70c51e716678">configure</a> (size_t parameters, double min, double max)</td></tr>
<tr class="memdesc:a18b11da83f808e86b04c70c51e716678"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization of the nested grid search.  <br /></td></tr>
<tr class="separator:a18b11da83f808e86b04c70c51e716678"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc163d14a00c8801b118dc6e48f1bb44" id="r_acc163d14a00c8801b118dc6e48f1bb44"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_nested_grid_search.html#acc163d14a00c8801b118dc6e48f1bb44">read</a> (<a class="el" href="namespaceshark.html#ada68729491840669e47c8ad42282424f">InArchive</a> &amp;archive)</td></tr>
<tr class="memdesc:acc163d14a00c8801b118dc6e48f1bb44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the component from the supplied archive.  <br /></td></tr>
<tr class="separator:acc163d14a00c8801b118dc6e48f1bb44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9b5d9cd975a160a3f24edae703bf1e7" id="r_aa9b5d9cd975a160a3f24edae703bf1e7"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_nested_grid_search.html#aa9b5d9cd975a160a3f24edae703bf1e7">write</a> (<a class="el" href="namespaceshark.html#af4f8eb8e9618f5236b71bbcb12b8a524">OutArchive</a> &amp;archive) const</td></tr>
<tr class="memdesc:aa9b5d9cd975a160a3f24edae703bf1e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write the component to the supplied archive.  <br /></td></tr>
<tr class="separator:aa9b5d9cd975a160a3f24edae703bf1e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d9ffc24f40f1824e0973e880c48d474" id="r_a7d9ffc24f40f1824e0973e880c48d474"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_nested_grid_search.html#a7d9ffc24f40f1824e0973e880c48d474">init</a> (<a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#aa4c05609c54d7ebc99d099e7dd6e228f">ObjectiveFunctionType</a> const &amp;objectiveFunction, <a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#a85f0d04fdfb094dba4dc80b1fb5e3adb">SearchPointType</a> const &amp;startingPoint)</td></tr>
<tr class="memdesc:a7d9ffc24f40f1824e0973e880c48d474"><td class="mdescLeft">&#160;</td><td class="mdescRight">if <a class="el" href="classshark_1_1_nested_grid_search.html" title="Nested grid search.">NestedGridSearch</a> was not configured before this call, it is default initialized ti the range[-1,1] for every parameter  <br /></td></tr>
<tr class="separator:a7d9ffc24f40f1824e0973e880c48d474"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fdb96838b95142124d531921637f983" id="r_a6fdb96838b95142124d531921637f983"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_nested_grid_search.html#a6fdb96838b95142124d531921637f983">step</a> (<a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#aa4c05609c54d7ebc99d099e7dd6e228f">ObjectiveFunctionType</a> const &amp;objectiveFunction)</td></tr>
<tr class="separator:a6fdb96838b95142124d531921637f983"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classshark_1_1_abstract_single_objective_optimizer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classshark_1_1_abstract_single_objective_optimizer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html">shark::AbstractSingleObjectiveOptimizer&lt; RealVector &gt;</a></td></tr>
<tr class="memitem:a1bd54036e3524dc2ddf02afeadc0939f inherit pub_methods_classshark_1_1_abstract_single_objective_optimizer" id="r_a1bd54036e3524dc2ddf02afeadc0939f"><td class="memItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#a1bd54036e3524dc2ddf02afeadc0939f">numInitPoints</a> () const</td></tr>
<tr class="memdesc:a1bd54036e3524dc2ddf02afeadc0939f inherit pub_methods_classshark_1_1_abstract_single_objective_optimizer"><td class="mdescLeft">&#160;</td><td class="mdescRight">By default most single objective optimizers only require a single point.  <br /></td></tr>
<tr class="separator:a1bd54036e3524dc2ddf02afeadc0939f inherit pub_methods_classshark_1_1_abstract_single_objective_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a246f1f1d4e0566c9a0ca43035a63fad5 inherit pub_methods_classshark_1_1_abstract_single_objective_optimizer" id="r_a246f1f1d4e0566c9a0ca43035a63fad5"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#a246f1f1d4e0566c9a0ca43035a63fad5">init</a> (<a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#aa4c05609c54d7ebc99d099e7dd6e228f">ObjectiveFunctionType</a> const &amp;function, std::vector&lt; <a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#a85f0d04fdfb094dba4dc80b1fb5e3adb">SearchPointType</a> &gt; const &amp;initPoints)</td></tr>
<tr class="memdesc:a246f1f1d4e0566c9a0ca43035a63fad5 inherit pub_methods_classshark_1_1_abstract_single_objective_optimizer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the optimizer for the supplied objective function using a set of initialisation points.  <br /></td></tr>
<tr class="separator:a246f1f1d4e0566c9a0ca43035a63fad5 inherit pub_methods_classshark_1_1_abstract_single_objective_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0909596fcc4f80a8d108859b20b64a81 inherit pub_methods_classshark_1_1_abstract_single_objective_optimizer" id="r_a0909596fcc4f80a8d108859b20b64a81"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#a8abcd574faa4b7bd2fed03465d1eda35">SolutionType</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#a0909596fcc4f80a8d108859b20b64a81">solution</a> () const</td></tr>
<tr class="memdesc:a0909596fcc4f80a8d108859b20b64a81 inherit pub_methods_classshark_1_1_abstract_single_objective_optimizer"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the current solution of the optimizer  <br /></td></tr>
<tr class="separator:a0909596fcc4f80a8d108859b20b64a81 inherit pub_methods_classshark_1_1_abstract_single_objective_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classshark_1_1_abstract_optimizer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classshark_1_1_abstract_optimizer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classshark_1_1_abstract_optimizer.html">shark::AbstractOptimizer&lt; PointType, ResultT, SolutionTypeT &gt;</a></td></tr>
<tr class="memitem:a40334039f6e799b2255d229874e9fa39 inherit pub_methods_classshark_1_1_abstract_optimizer" id="r_a40334039f6e799b2255d229874e9fa39"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classshark_1_1_abstract_optimizer.html#ab43ff108d945a982e98495432ace599f">Features</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_optimizer.html#a40334039f6e799b2255d229874e9fa39">features</a> () const</td></tr>
<tr class="separator:a40334039f6e799b2255d229874e9fa39 inherit pub_methods_classshark_1_1_abstract_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc0219242dff14757398c81d2e82c22e inherit pub_methods_classshark_1_1_abstract_optimizer" id="r_adc0219242dff14757398c81d2e82c22e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_optimizer.html#adc0219242dff14757398c81d2e82c22e">updateFeatures</a> ()</td></tr>
<tr class="separator:adc0219242dff14757398c81d2e82c22e inherit pub_methods_classshark_1_1_abstract_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8645fb354408c89d3537aa87aed49b79 inherit pub_methods_classshark_1_1_abstract_optimizer" id="r_a8645fb354408c89d3537aa87aed49b79"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_optimizer.html#a8645fb354408c89d3537aa87aed49b79">requiresValue</a> () const</td></tr>
<tr class="separator:a8645fb354408c89d3537aa87aed49b79 inherit pub_methods_classshark_1_1_abstract_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13dff098bcde14529b64be653d73d57f inherit pub_methods_classshark_1_1_abstract_optimizer" id="r_a13dff098bcde14529b64be653d73d57f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_optimizer.html#a13dff098bcde14529b64be653d73d57f">requiresFirstDerivative</a> () const</td></tr>
<tr class="separator:a13dff098bcde14529b64be653d73d57f inherit pub_methods_classshark_1_1_abstract_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9da146985b7738554e09f75a670f8c97 inherit pub_methods_classshark_1_1_abstract_optimizer" id="r_a9da146985b7738554e09f75a670f8c97"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_optimizer.html#a9da146985b7738554e09f75a670f8c97">requiresSecondDerivative</a> () const</td></tr>
<tr class="separator:a9da146985b7738554e09f75a670f8c97 inherit pub_methods_classshark_1_1_abstract_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecad1d60d38fd243eaf7c7bf0f6d01af inherit pub_methods_classshark_1_1_abstract_optimizer" id="r_aecad1d60d38fd243eaf7c7bf0f6d01af"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_optimizer.html#aecad1d60d38fd243eaf7c7bf0f6d01af">canSolveConstrained</a> () const</td></tr>
<tr class="separator:aecad1d60d38fd243eaf7c7bf0f6d01af inherit pub_methods_classshark_1_1_abstract_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9332ad1b90deed11ee6709a92964bc9 inherit pub_methods_classshark_1_1_abstract_optimizer" id="r_aa9332ad1b90deed11ee6709a92964bc9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_optimizer.html#aa9332ad1b90deed11ee6709a92964bc9">requiresClosestFeasible</a> () const</td></tr>
<tr class="separator:aa9332ad1b90deed11ee6709a92964bc9 inherit pub_methods_classshark_1_1_abstract_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd45149f57784a117e8f62d0763bf891 inherit pub_methods_classshark_1_1_abstract_optimizer" id="r_abd45149f57784a117e8f62d0763bf891"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_optimizer.html#abd45149f57784a117e8f62d0763bf891">~AbstractOptimizer</a> ()</td></tr>
<tr class="separator:abd45149f57784a117e8f62d0763bf891 inherit pub_methods_classshark_1_1_abstract_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa65e7eece1d248594253b799cf20e7a inherit pub_methods_classshark_1_1_abstract_optimizer" id="r_aaa65e7eece1d248594253b799cf20e7a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_optimizer.html#aaa65e7eece1d248594253b799cf20e7a">init</a> (<a class="el" href="classshark_1_1_abstract_optimizer.html#ac7a9b0634e5a5cbd683f5510b41b7062">ObjectiveFunctionType</a> const &amp;function)</td></tr>
<tr class="memdesc:aaa65e7eece1d248594253b799cf20e7a inherit pub_methods_classshark_1_1_abstract_optimizer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the optimizer for the supplied objective function.  <br /></td></tr>
<tr class="separator:aaa65e7eece1d248594253b799cf20e7a inherit pub_methods_classshark_1_1_abstract_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f6f869a2ea7c6d29e70f8248f076f66 inherit pub_methods_classshark_1_1_abstract_optimizer" id="r_a5f6f869a2ea7c6d29e70f8248f076f66"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_optimizer.html#a5f6f869a2ea7c6d29e70f8248f076f66">init</a> (<a class="el" href="classshark_1_1_abstract_optimizer.html#ac7a9b0634e5a5cbd683f5510b41b7062">ObjectiveFunctionType</a> const &amp;function, std::vector&lt; <a class="el" href="classshark_1_1_abstract_optimizer.html#abea8df343e5638782a9a82403adb5ae1">SearchPointType</a> &gt; const &amp;initPoints)=0</td></tr>
<tr class="memdesc:a5f6f869a2ea7c6d29e70f8248f076f66 inherit pub_methods_classshark_1_1_abstract_optimizer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the optimizer for the supplied objective function using a set of initialisation points.  <br /></td></tr>
<tr class="separator:a5f6f869a2ea7c6d29e70f8248f076f66 inherit pub_methods_classshark_1_1_abstract_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfc507951eb09c50d62c474c79d773ea inherit pub_methods_classshark_1_1_abstract_optimizer" id="r_abfc507951eb09c50d62c474c79d773ea"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_optimizer.html#abfc507951eb09c50d62c474c79d773ea">step</a> (<a class="el" href="classshark_1_1_abstract_optimizer.html#ac7a9b0634e5a5cbd683f5510b41b7062">ObjectiveFunctionType</a> const &amp;function)=0</td></tr>
<tr class="memdesc:abfc507951eb09c50d62c474c79d773ea inherit pub_methods_classshark_1_1_abstract_optimizer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Carry out one step of the optimizer for the supplied objective function.  <br /></td></tr>
<tr class="separator:abfc507951eb09c50d62c474c79d773ea inherit pub_methods_classshark_1_1_abstract_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classshark_1_1_i_nameable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classshark_1_1_i_nameable')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classshark_1_1_i_nameable.html">shark::INameable</a></td></tr>
<tr class="memitem:a877dbdfc6b58ea836495143cea44a98c inherit pub_methods_classshark_1_1_i_nameable" id="r_a877dbdfc6b58ea836495143cea44a98c"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_nameable.html#a877dbdfc6b58ea836495143cea44a98c">~INameable</a> ()</td></tr>
<tr class="separator:a877dbdfc6b58ea836495143cea44a98c inherit pub_methods_classshark_1_1_i_nameable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classshark_1_1_i_serializable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classshark_1_1_i_serializable')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classshark_1_1_i_serializable.html">shark::ISerializable</a></td></tr>
<tr class="memitem:a7baa9ce108d7278822297ce15882782a inherit pub_methods_classshark_1_1_i_serializable" id="r_a7baa9ce108d7278822297ce15882782a"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_serializable.html#a7baa9ce108d7278822297ce15882782a">~ISerializable</a> ()</td></tr>
<tr class="memdesc:a7baa9ce108d7278822297ce15882782a inherit pub_methods_classshark_1_1_i_serializable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual d'tor.  <br /></td></tr>
<tr class="separator:a7baa9ce108d7278822297ce15882782a inherit pub_methods_classshark_1_1_i_serializable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdda0c5b8e065b8afbac2cba8f58e841 inherit pub_methods_classshark_1_1_i_serializable" id="r_abdda0c5b8e065b8afbac2cba8f58e841"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_serializable.html#abdda0c5b8e065b8afbac2cba8f58e841">load</a> (<a class="el" href="namespaceshark.html#ada68729491840669e47c8ad42282424f">InArchive</a> &amp;archive, unsigned int version)</td></tr>
<tr class="memdesc:abdda0c5b8e065b8afbac2cba8f58e841 inherit pub_methods_classshark_1_1_i_serializable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Versioned loading of components, calls read(...).  <br /></td></tr>
<tr class="separator:abdda0c5b8e065b8afbac2cba8f58e841 inherit pub_methods_classshark_1_1_i_serializable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bf66fa8db15cc529bec98976a2f5255 inherit pub_methods_classshark_1_1_i_serializable" id="r_a5bf66fa8db15cc529bec98976a2f5255"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_serializable.html#a5bf66fa8db15cc529bec98976a2f5255">save</a> (<a class="el" href="namespaceshark.html#af4f8eb8e9618f5236b71bbcb12b8a524">OutArchive</a> &amp;archive, unsigned int version) const</td></tr>
<tr class="memdesc:a5bf66fa8db15cc529bec98976a2f5255 inherit pub_methods_classshark_1_1_i_serializable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Versioned storing of components, calls write(...).  <br /></td></tr>
<tr class="separator:a5bf66fa8db15cc529bec98976a2f5255 inherit pub_methods_classshark_1_1_i_serializable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4560a94e8f4908fe8627e41e7d965735 inherit pub_methods_classshark_1_1_i_serializable" id="r_a4560a94e8f4908fe8627e41e7d965735"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_serializable.html#a4560a94e8f4908fe8627e41e7d965735">BOOST_SERIALIZATION_SPLIT_MEMBER</a> ()</td></tr>
<tr class="separator:a4560a94e8f4908fe8627e41e7d965735 inherit pub_methods_classshark_1_1_i_serializable"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a5a473052d0b073aadc27760d91a562cd" id="r_a5a473052d0b073aadc27760d91a562cd"><td class="memItemLeft" align="right" valign="top">std::vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_nested_grid_search.html#a5a473052d0b073aadc27760d91a562cd">m_minimum</a></td></tr>
<tr class="memdesc:a5a473052d0b073aadc27760d91a562cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">minimum parameter value to check  <br /></td></tr>
<tr class="separator:a5a473052d0b073aadc27760d91a562cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf852729d6bcc8ed07b07b536c216b8f" id="r_acf852729d6bcc8ed07b07b536c216b8f"><td class="memItemLeft" align="right" valign="top">std::vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_nested_grid_search.html#acf852729d6bcc8ed07b07b536c216b8f">m_maximum</a></td></tr>
<tr class="memdesc:acf852729d6bcc8ed07b07b536c216b8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">maximum parameter value to check  <br /></td></tr>
<tr class="separator:acf852729d6bcc8ed07b07b536c216b8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a715397003da7e1d62adf9b1abde79da2" id="r_a715397003da7e1d62adf9b1abde79da2"><td class="memItemLeft" align="right" valign="top">std::vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_nested_grid_search.html#a715397003da7e1d62adf9b1abde79da2">m_stepsize</a></td></tr>
<tr class="memdesc:a715397003da7e1d62adf9b1abde79da2"><td class="mdescLeft">&#160;</td><td class="mdescRight">current step size for every parameter  <br /></td></tr>
<tr class="separator:a715397003da7e1d62adf9b1abde79da2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba7c13a5f426918e4e64760d7e5b3624" id="r_aba7c13a5f426918e4e64760d7e5b3624"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_nested_grid_search.html#aba7c13a5f426918e4e64760d7e5b3624">m_configured</a></td></tr>
<tr class="separator:aba7c13a5f426918e4e64760d7e5b3624"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classshark_1_1_abstract_single_objective_optimizer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classshark_1_1_abstract_single_objective_optimizer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html">shark::AbstractSingleObjectiveOptimizer&lt; RealVector &gt;</a></td></tr>
<tr class="memitem:a4740a0f8e9d5c7d99cf0dd0c3ee0e8a0 inherit pro_attribs_classshark_1_1_abstract_single_objective_optimizer" id="r_a4740a0f8e9d5c7d99cf0dd0c3ee0e8a0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#a8abcd574faa4b7bd2fed03465d1eda35">SolutionType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#a4740a0f8e9d5c7d99cf0dd0c3ee0e8a0">m_best</a></td></tr>
<tr class="memdesc:a4740a0f8e9d5c7d99cf0dd0c3ee0e8a0 inherit pro_attribs_classshark_1_1_abstract_single_objective_optimizer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current solution of the optimizer.  <br /></td></tr>
<tr class="separator:a4740a0f8e9d5c7d99cf0dd0c3ee0e8a0 inherit pro_attribs_classshark_1_1_abstract_single_objective_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classshark_1_1_abstract_optimizer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classshark_1_1_abstract_optimizer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classshark_1_1_abstract_optimizer.html">shark::AbstractOptimizer&lt; PointType, ResultT, SolutionTypeT &gt;</a></td></tr>
<tr class="memitem:a72daf583d406e144b90869f311baa594 inherit pro_attribs_classshark_1_1_abstract_optimizer" id="r_a72daf583d406e144b90869f311baa594"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_optimizer.html#ab43ff108d945a982e98495432ace599f">Features</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_optimizer.html#a72daf583d406e144b90869f311baa594">m_features</a></td></tr>
<tr class="separator:a72daf583d406e144b90869f311baa594 inherit pro_attribs_classshark_1_1_abstract_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classshark_1_1_abstract_single_objective_optimizer"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classshark_1_1_abstract_single_objective_optimizer')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html">shark::AbstractSingleObjectiveOptimizer&lt; RealVector &gt;</a></td></tr>
<tr class="memitem:a85f0d04fdfb094dba4dc80b1fb5e3adb inherit pub_types_classshark_1_1_abstract_single_objective_optimizer" id="r_a85f0d04fdfb094dba4dc80b1fb5e3adb"><td class="memItemLeft" align="right" valign="top">typedef base_type::SearchPointType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#a85f0d04fdfb094dba4dc80b1fb5e3adb">SearchPointType</a></td></tr>
<tr class="separator:a85f0d04fdfb094dba4dc80b1fb5e3adb inherit pub_types_classshark_1_1_abstract_single_objective_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8abcd574faa4b7bd2fed03465d1eda35 inherit pub_types_classshark_1_1_abstract_single_objective_optimizer" id="r_a8abcd574faa4b7bd2fed03465d1eda35"><td class="memItemLeft" align="right" valign="top">typedef base_type::SolutionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#a8abcd574faa4b7bd2fed03465d1eda35">SolutionType</a></td></tr>
<tr class="separator:a8abcd574faa4b7bd2fed03465d1eda35 inherit pub_types_classshark_1_1_abstract_single_objective_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a068a68c8739215f4a13ce8a433ec38b3 inherit pub_types_classshark_1_1_abstract_single_objective_optimizer" id="r_a068a68c8739215f4a13ce8a433ec38b3"><td class="memItemLeft" align="right" valign="top">typedef base_type::ResultType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#a068a68c8739215f4a13ce8a433ec38b3">ResultType</a></td></tr>
<tr class="separator:a068a68c8739215f4a13ce8a433ec38b3 inherit pub_types_classshark_1_1_abstract_single_objective_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4c05609c54d7ebc99d099e7dd6e228f inherit pub_types_classshark_1_1_abstract_single_objective_optimizer" id="r_aa4c05609c54d7ebc99d099e7dd6e228f"><td class="memItemLeft" align="right" valign="top">typedef base_type::ObjectiveFunctionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#aa4c05609c54d7ebc99d099e7dd6e228f">ObjectiveFunctionType</a></td></tr>
<tr class="separator:aa4c05609c54d7ebc99d099e7dd6e228f inherit pub_types_classshark_1_1_abstract_single_objective_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classshark_1_1_abstract_optimizer"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classshark_1_1_abstract_optimizer')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classshark_1_1_abstract_optimizer.html">shark::AbstractOptimizer&lt; PointType, ResultT, SolutionTypeT &gt;</a></td></tr>
<tr class="memitem:a77bf437afee3445601c680cc652410f0 inherit pub_types_classshark_1_1_abstract_optimizer" id="r_a77bf437afee3445601c680cc652410f0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_optimizer.html#a77bf437afee3445601c680cc652410f0">Feature</a> { <br />
&#160;&#160;<a class="el" href="classshark_1_1_abstract_optimizer.html#a77bf437afee3445601c680cc652410f0af46b9e1111a0858df3670fe12e4ffbf0">REQUIRES_VALUE</a> = 1
, <a class="el" href="classshark_1_1_abstract_optimizer.html#a77bf437afee3445601c680cc652410f0ad9b925369d4f923c63792bf455eac1d7">REQUIRES_FIRST_DERIVATIVE</a> = 2
, <a class="el" href="classshark_1_1_abstract_optimizer.html#a77bf437afee3445601c680cc652410f0a0a32670987bb219aaf2f6defc70e6f03">REQUIRES_SECOND_DERIVATIVE</a> = 4
, <a class="el" href="classshark_1_1_abstract_optimizer.html#a77bf437afee3445601c680cc652410f0ab95c65f700f2158f39039d8f580d350f">CAN_SOLVE_CONSTRAINED</a> = 8
, <br />
&#160;&#160;<a class="el" href="classshark_1_1_abstract_optimizer.html#a77bf437afee3445601c680cc652410f0addbe7762d6f4f8769cc06f61bc9c5c28">REQUIRES_CLOSEST_FEASIBLE</a> = 16
<br />
 }</td></tr>
<tr class="memdesc:a77bf437afee3445601c680cc652410f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Models features that the optimizer requires from the objective function.  <a href="classshark_1_1_abstract_optimizer.html#a77bf437afee3445601c680cc652410f0">More...</a><br /></td></tr>
<tr class="separator:a77bf437afee3445601c680cc652410f0 inherit pub_types_classshark_1_1_abstract_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abea8df343e5638782a9a82403adb5ae1 inherit pub_types_classshark_1_1_abstract_optimizer" id="r_abea8df343e5638782a9a82403adb5ae1"><td class="memItemLeft" align="right" valign="top">typedef PointType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_optimizer.html#abea8df343e5638782a9a82403adb5ae1">SearchPointType</a></td></tr>
<tr class="separator:abea8df343e5638782a9a82403adb5ae1 inherit pub_types_classshark_1_1_abstract_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89ed73f010deb3809acbcf23160c0f6b inherit pub_types_classshark_1_1_abstract_optimizer" id="r_a89ed73f010deb3809acbcf23160c0f6b"><td class="memItemLeft" align="right" valign="top">typedef ResultT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_optimizer.html#a89ed73f010deb3809acbcf23160c0f6b">ResultType</a></td></tr>
<tr class="separator:a89ed73f010deb3809acbcf23160c0f6b inherit pub_types_classshark_1_1_abstract_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc94d354dbe0b99c0a69ec3e6e5e8657 inherit pub_types_classshark_1_1_abstract_optimizer" id="r_abc94d354dbe0b99c0a69ec3e6e5e8657"><td class="memItemLeft" align="right" valign="top">typedef SolutionTypeT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_optimizer.html#abc94d354dbe0b99c0a69ec3e6e5e8657">SolutionType</a></td></tr>
<tr class="separator:abc94d354dbe0b99c0a69ec3e6e5e8657 inherit pub_types_classshark_1_1_abstract_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7a9b0634e5a5cbd683f5510b41b7062 inherit pub_types_classshark_1_1_abstract_optimizer" id="r_ac7a9b0634e5a5cbd683f5510b41b7062"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classshark_1_1_abstract_objective_function.html">AbstractObjectiveFunction</a>&lt; PointType, <a class="el" href="classshark_1_1_abstract_optimizer.html#a89ed73f010deb3809acbcf23160c0f6b">ResultType</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_optimizer.html#ac7a9b0634e5a5cbd683f5510b41b7062">ObjectiveFunctionType</a></td></tr>
<tr class="separator:ac7a9b0634e5a5cbd683f5510b41b7062 inherit pub_types_classshark_1_1_abstract_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab43ff108d945a982e98495432ace599f inherit pub_types_classshark_1_1_abstract_optimizer" id="r_ab43ff108d945a982e98495432ace599f"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classshark_1_1_typed_flags.html">TypedFlags</a>&lt; <a class="el" href="classshark_1_1_abstract_optimizer.html#a77bf437afee3445601c680cc652410f0">Feature</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_optimizer.html#ab43ff108d945a982e98495432ace599f">Features</a></td></tr>
<tr class="separator:ab43ff108d945a982e98495432ace599f inherit pub_types_classshark_1_1_abstract_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47751327ce0519d3378a9b2ad188d1e6 inherit pub_types_classshark_1_1_abstract_optimizer" id="r_a47751327ce0519d3378a9b2ad188d1e6"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classshark_1_1_typed_feature_not_available_exception.html">TypedFeatureNotAvailableException</a>&lt; <a class="el" href="classshark_1_1_abstract_optimizer.html#a77bf437afee3445601c680cc652410f0">Feature</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_optimizer.html#a47751327ce0519d3378a9b2ad188d1e6">FeatureNotAvailableException</a></td></tr>
<tr class="separator:a47751327ce0519d3378a9b2ad188d1e6 inherit pub_types_classshark_1_1_abstract_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classshark_1_1_abstract_optimizer"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classshark_1_1_abstract_optimizer')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classshark_1_1_abstract_optimizer.html">shark::AbstractOptimizer&lt; PointType, ResultT, SolutionTypeT &gt;</a></td></tr>
<tr class="memitem:ae7a23300641448c761b6aa0305b7ef66 inherit pro_methods_classshark_1_1_abstract_optimizer" id="r_ae7a23300641448c761b6aa0305b7ef66"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_optimizer.html#ae7a23300641448c761b6aa0305b7ef66">checkFeatures</a> (<a class="el" href="classshark_1_1_abstract_optimizer.html#ac7a9b0634e5a5cbd683f5510b41b7062">ObjectiveFunctionType</a> const &amp;objectiveFunction)</td></tr>
<tr class="memdesc:ae7a23300641448c761b6aa0305b7ef66 inherit pro_methods_classshark_1_1_abstract_optimizer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience function that checks whether the features of the supplied objective function match with the required features of the optimizer.  <br /></td></tr>
<tr class="separator:ae7a23300641448c761b6aa0305b7ef66 inherit pro_methods_classshark_1_1_abstract_optimizer"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Nested grid search. </p>
<dl class="section user"><dt></dt><dd>The <a class="el" href="classshark_1_1_nested_grid_search.html" title="Nested grid search.">NestedGridSearch</a> class is an iterative optimizer, doing one grid search in every iteration. In every iteration, it halves the grid extent doubling the resolution in every coordinate.</dd></dl>
<dl class="section user"><dt></dt><dd>Although nested grid search is much less exhaustive than standard grid search, it still suffers from exponential time and memory complexity in the number of variables optimized. Therefore, if the number of variables is larger than 2 or 3, consider using the <a class="el" href="classshark_1_1_c_m_a.html" title="Implements the CMA-ES.">CMA</a> instead.</dd></dl>
<dl class="section user"><dt></dt><dd>Nested grid search works as follows: The optimizer defined a 5x5x...x5 equi-distant grid (depending on the search space dimension) on an initially defined search cube. During every grid search iteration, the error is computed for all grid points. Then the grid is moved to the best grid point found so far and contracted by a factor of two in each dimension. Each call to the optimize() function performs one such step.</dd></dl>
<dl class="section user"><dt></dt><dd>Let N denote the number of parameters to optimize. To compute the error landscape at the current zoom level, the algorithm has to do \( 5^N \) error function evaluations in every iteration.</dd></dl>
<dl class="section user"><dt></dt><dd>The grid is always centered around the best solution currently known. If this solution is located at the boundary, the landscape may exceed the parameter range defined m_minimum and m_maximum. These invalid landscape values are not used. </dd></dl>

<p class="definition">Definition at line <a class="el" href="_grid_search_8h_source.html#l00373">373</a> of file <a class="el" href="_grid_search_8h_source.html">GridSearch.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="af843acc075e013fe5d75ffc0e5135e10" name="af843acc075e013fe5d75ffc0e5135e10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af843acc075e013fe5d75ffc0e5135e10">&#9670;&#160;</a></span>NestedGridSearch()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">shark::NestedGridSearch::NestedGridSearch </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor. </p>

<p class="definition">Definition at line <a class="el" href="_grid_search_8h_source.html#l00377">377</a> of file <a class="el" href="_grid_search_8h_source.html">GridSearch.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_nested_grid_search.html#aba7c13a5f426918e4e64760d7e5b3624">m_configured</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a6794001d6de702afc1cb5eb323e1335b" name="a6794001d6de702afc1cb5eb323e1335b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6794001d6de702afc1cb5eb323e1335b">&#9670;&#160;</a></span>configure() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void shark::NestedGridSearch::configure </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>max</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Initialization of the nested grid search. </p>
<dl class="section user"><dt></dt><dd>The min and max arrays define ranges for every parameter to optimize. These ranges are strict, that is, the algorithm will not try values beyond the range, even if is finds a boundary minimum.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">min</td><td>lower end of the parameter range </td></tr>
    <tr><td class="paramname">max</td><td>upper end of the parameter range </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="_grid_search_8h_source.html#l00398">398</a> of file <a class="el" href="_grid_search_8h_source.html">GridSearch.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#a4740a0f8e9d5c7d99cf0dd0c3ee0e8a0">shark::AbstractSingleObjectiveOptimizer&lt; RealVector &gt;::m_best</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#aba7c13a5f426918e4e64760d7e5b3624">m_configured</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#acf852729d6bcc8ed07b07b536c216b8f">m_maximum</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#a5a473052d0b073aadc27760d91a562cd">m_minimum</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#a715397003da7e1d62adf9b1abde79da2">m_stepsize</a>, and <a class="el" href="_exception_8h.html#a42a6a50e4d06c00d60fbca5333f40768">SIZE_CHECK</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_nested_grid_search.html#a7d9ffc24f40f1824e0973e880c48d474">init()</a>.</p>

</div>
</div>
<a id="a18b11da83f808e86b04c70c51e716678" name="a18b11da83f808e86b04c70c51e716678"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18b11da83f808e86b04c70c51e716678">&#9670;&#160;</a></span>configure() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void shark::NestedGridSearch::configure </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>parameters</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>max</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Initialization of the nested grid search. </p>
<dl class="section user"><dt></dt><dd>The min and max values define ranges for every parameter to optimize. These ranges are strict, that is, the algorithm will not try values beyond the range, even if is finds a boundary minimum.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">parameters</td><td>number of parameters to optimize </td></tr>
    <tr><td class="paramname">min</td><td>lower end of the parameter range </td></tr>
    <tr><td class="paramname">max</td><td>upper end of the parameter range </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="_grid_search_8h_source.html#l00427">427</a> of file <a class="el" href="_grid_search_8h_source.html">GridSearch.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#a4740a0f8e9d5c7d99cf0dd0c3ee0e8a0">shark::AbstractSingleObjectiveOptimizer&lt; RealVector &gt;::m_best</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#aba7c13a5f426918e4e64760d7e5b3624">m_configured</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#acf852729d6bcc8ed07b07b536c216b8f">m_maximum</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#a5a473052d0b073aadc27760d91a562cd">m_minimum</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#a715397003da7e1d62adf9b1abde79da2">m_stepsize</a>, and <a class="el" href="_exception_8h.html#a42a6a50e4d06c00d60fbca5333f40768">SIZE_CHECK</a>.</p>

</div>
</div>
<a id="a7d9ffc24f40f1824e0973e880c48d474" name="a7d9ffc24f40f1824e0973e880c48d474"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d9ffc24f40f1824e0973e880c48d474">&#9670;&#160;</a></span>init()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void shark::NestedGridSearch::init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#aa4c05609c54d7ebc99d099e7dd6e228f">ObjectiveFunctionType</a> const &amp;&#160;</td>
          <td class="paramname"><em>objectiveFunction</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#a85f0d04fdfb094dba4dc80b1fb5e3adb">SearchPointType</a> const &amp;&#160;</td>
          <td class="paramname"><em>startingPoint</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>if <a class="el" href="classshark_1_1_nested_grid_search.html" title="Nested grid search.">NestedGridSearch</a> was not configured before this call, it is default initialized ti the range[-1,1] for every parameter </p>

<p>Implements <a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#ae53c1a8348f5ab987f5aa8829fd8020f">shark::AbstractSingleObjectiveOptimizer&lt; RealVector &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_grid_search_8h_source.html#l00465">465</a> of file <a class="el" href="_grid_search_8h_source.html">GridSearch.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_optimizer.html#ae7a23300641448c761b6aa0305b7ef66">shark::AbstractOptimizer&lt; PointType, ResultT, SolutionTypeT &gt;::checkFeatures()</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#a6794001d6de702afc1cb5eb323e1335b">configure()</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#aba7c13a5f426918e4e64760d7e5b3624">m_configured</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#a715397003da7e1d62adf9b1abde79da2">m_stepsize</a>, and <a class="el" href="_exception_8h.html#a42a6a50e4d06c00d60fbca5333f40768">SIZE_CHECK</a>.</p>

</div>
</div>
<a id="a1a0f8c2203e464572921d4c733b7e642" name="a1a0f8c2203e464572921d4c733b7e642"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a0f8c2203e464572921d4c733b7e642">&#9670;&#160;</a></span>name()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string shark::NestedGridSearch::name </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>From <a class="el" href="classshark_1_1_i_nameable.html" title="This class is an interface for all objects which can have a name.">INameable</a>: return the class name. </p>

<p>Reimplemented from <a class="el" href="classshark_1_1_i_nameable.html#a9893f99314de30cd472e649c235d0db4">shark::INameable</a>.</p>

<p class="definition">Definition at line <a class="el" href="_grid_search_8h_source.html#l00383">383</a> of file <a class="el" href="_grid_search_8h_source.html">GridSearch.h</a>.</p>

</div>
</div>
<a id="acc163d14a00c8801b118dc6e48f1bb44" name="acc163d14a00c8801b118dc6e48f1bb44"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc163d14a00c8801b118dc6e48f1bb44">&#9670;&#160;</a></span>read()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void shark::NestedGridSearch::read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceshark.html#ada68729491840669e47c8ad42282424f">InArchive</a> &amp;&#160;</td>
          <td class="paramname"><em>archive</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read the component from the supplied archive. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">archive</td><td>The archive to read from. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented from <a class="el" href="classshark_1_1_i_serializable.html#ad4ad9a7c274deff642f91e98417fbc63">shark::ISerializable</a>.</p>

<p class="definition">Definition at line <a class="el" href="_grid_search_8h_source.html#l00444">444</a> of file <a class="el" href="_grid_search_8h_source.html">GridSearch.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#a4740a0f8e9d5c7d99cf0dd0c3ee0e8a0">shark::AbstractSingleObjectiveOptimizer&lt; RealVector &gt;::m_best</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#aba7c13a5f426918e4e64760d7e5b3624">m_configured</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#acf852729d6bcc8ed07b07b536c216b8f">m_maximum</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#a5a473052d0b073aadc27760d91a562cd">m_minimum</a>, and <a class="el" href="classshark_1_1_nested_grid_search.html#a715397003da7e1d62adf9b1abde79da2">m_stepsize</a>.</p>

</div>
</div>
<a id="a6fdb96838b95142124d531921637f983" name="a6fdb96838b95142124d531921637f983"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6fdb96838b95142124d531921637f983">&#9670;&#160;</a></span>step()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void shark::NestedGridSearch::step </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#aa4c05609c54d7ebc99d099e7dd6e228f">ObjectiveFunctionType</a> const &amp;&#160;</td>
          <td class="paramname"><em>objectiveFunction</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Every call of the optimization member computes the error landscape on the current grid. It picks the best error value and zooms into the error landscape by a factor of 2. </p>

<p class="definition">Definition at line <a class="el" href="_grid_search_8h_source.html#l00480">480</a> of file <a class="el" href="_grid_search_8h_source.html">GridSearch.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#a4740a0f8e9d5c7d99cf0dd0c3ee0e8a0">shark::AbstractSingleObjectiveOptimizer&lt; RealVector &gt;::m_best</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#acf852729d6bcc8ed07b07b536c216b8f">m_maximum</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#a5a473052d0b073aadc27760d91a562cd">m_minimum</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#a715397003da7e1d62adf9b1abde79da2">m_stepsize</a>, <a class="el" href="_exception_8h.html#a42a6a50e4d06c00d60fbca5333f40768">SIZE_CHECK</a>, and <a class="el" href="classshark_1_1_nested_grid_search.html#a6fdb96838b95142124d531921637f983">step()</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_nested_grid_search.html#a6fdb96838b95142124d531921637f983">step()</a>.</p>

</div>
</div>
<a id="aa9b5d9cd975a160a3f24edae703bf1e7" name="aa9b5d9cd975a160a3f24edae703bf1e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9b5d9cd975a160a3f24edae703bf1e7">&#9670;&#160;</a></span>write()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void shark::NestedGridSearch::write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceshark.html#af4f8eb8e9618f5236b71bbcb12b8a524">OutArchive</a> &amp;&#160;</td>
          <td class="paramname"><em>archive</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write the component to the supplied archive. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">archive</td><td>The archive to write to. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented from <a class="el" href="classshark_1_1_i_serializable.html#a9bddedd42933c922e323b73131f62f12">shark::ISerializable</a>.</p>

<p class="definition">Definition at line <a class="el" href="_grid_search_8h_source.html#l00454">454</a> of file <a class="el" href="_grid_search_8h_source.html">GridSearch.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_single_objective_optimizer.html#a4740a0f8e9d5c7d99cf0dd0c3ee0e8a0">shark::AbstractSingleObjectiveOptimizer&lt; RealVector &gt;::m_best</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#aba7c13a5f426918e4e64760d7e5b3624">m_configured</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#acf852729d6bcc8ed07b07b536c216b8f">m_maximum</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#a5a473052d0b073aadc27760d91a562cd">m_minimum</a>, and <a class="el" href="classshark_1_1_nested_grid_search.html#a715397003da7e1d62adf9b1abde79da2">m_stepsize</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="aba7c13a5f426918e4e64760d7e5b3624" name="aba7c13a5f426918e4e64760d7e5b3624"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba7c13a5f426918e4e64760d7e5b3624">&#9670;&#160;</a></span>m_configured</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool shark::NestedGridSearch::m_configured</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_grid_search_8h_source.html#l00544">544</a> of file <a class="el" href="_grid_search_8h_source.html">GridSearch.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_nested_grid_search.html#a6794001d6de702afc1cb5eb323e1335b">configure()</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#a18b11da83f808e86b04c70c51e716678">configure()</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#a7d9ffc24f40f1824e0973e880c48d474">init()</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#af843acc075e013fe5d75ffc0e5135e10">NestedGridSearch()</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#acc163d14a00c8801b118dc6e48f1bb44">read()</a>, and <a class="el" href="classshark_1_1_nested_grid_search.html#aa9b5d9cd975a160a3f24edae703bf1e7">write()</a>.</p>

</div>
</div>
<a id="acf852729d6bcc8ed07b07b536c216b8f" name="acf852729d6bcc8ed07b07b536c216b8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf852729d6bcc8ed07b07b536c216b8f">&#9670;&#160;</a></span>m_maximum</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;double&gt; shark::NestedGridSearch::m_maximum</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>maximum parameter value to check </p>

<p class="definition">Definition at line <a class="el" href="_grid_search_8h_source.html#l00539">539</a> of file <a class="el" href="_grid_search_8h_source.html">GridSearch.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_nested_grid_search.html#a6794001d6de702afc1cb5eb323e1335b">configure()</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#a18b11da83f808e86b04c70c51e716678">configure()</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#acc163d14a00c8801b118dc6e48f1bb44">read()</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#a6fdb96838b95142124d531921637f983">step()</a>, and <a class="el" href="classshark_1_1_nested_grid_search.html#aa9b5d9cd975a160a3f24edae703bf1e7">write()</a>.</p>

</div>
</div>
<a id="a5a473052d0b073aadc27760d91a562cd" name="a5a473052d0b073aadc27760d91a562cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a473052d0b073aadc27760d91a562cd">&#9670;&#160;</a></span>m_minimum</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;double&gt; shark::NestedGridSearch::m_minimum</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>minimum parameter value to check </p>

<p class="definition">Definition at line <a class="el" href="_grid_search_8h_source.html#l00536">536</a> of file <a class="el" href="_grid_search_8h_source.html">GridSearch.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_nested_grid_search.html#a6794001d6de702afc1cb5eb323e1335b">configure()</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#a18b11da83f808e86b04c70c51e716678">configure()</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#acc163d14a00c8801b118dc6e48f1bb44">read()</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#a6fdb96838b95142124d531921637f983">step()</a>, and <a class="el" href="classshark_1_1_nested_grid_search.html#aa9b5d9cd975a160a3f24edae703bf1e7">write()</a>.</p>

</div>
</div>
<a id="a715397003da7e1d62adf9b1abde79da2" name="a715397003da7e1d62adf9b1abde79da2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a715397003da7e1d62adf9b1abde79da2">&#9670;&#160;</a></span>m_stepsize</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;double&gt; shark::NestedGridSearch::m_stepsize</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>current step size for every parameter </p>

<p class="definition">Definition at line <a class="el" href="_grid_search_8h_source.html#l00542">542</a> of file <a class="el" href="_grid_search_8h_source.html">GridSearch.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_nested_grid_search.html#a6794001d6de702afc1cb5eb323e1335b">configure()</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#a18b11da83f808e86b04c70c51e716678">configure()</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#a7d9ffc24f40f1824e0973e880c48d474">init()</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#acc163d14a00c8801b118dc6e48f1bb44">read()</a>, <a class="el" href="classshark_1_1_nested_grid_search.html#a6fdb96838b95142124d531921637f983">step()</a>, and <a class="el" href="classshark_1_1_nested_grid_search.html#aa9b5d9cd975a160a3f24edae703bf1e7">write()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/shark/Algorithms/DirectSearch/<a class="el" href="_grid_search_8h_source.html">GridSearch.h</a></li>
</ul>
</div><!-- contents -->
</div>
</body>
</html>
